/**
 * 时间戳 → 字符串（自动识别毫秒/秒）
 * @param {number|string|Date} ts  时间戳（毫秒 or 秒）
 * @param {string} [fmt='YYYY-MM-DD HH:mm:ss'] 格式模板
 * @returns {string}
 */
export const formatTime = (ts, fmt = 'YYYY-MM-DD HH:mm:ss') => {
    if (!ts && ts !== 0) return '';

    let num = +ts;
    // 10 位秒级 → 毫秒
    if (num < 1e10) num *= 1000;

    const date = new Date(num);
    if (isNaN(date.getTime())) return '';

    const pad = n => n.toString().padStart(2, '0');

    const rules = {
        YYYY: date.getFullYear(),
        MM: pad(date.getMonth() + 1),
        DD: pad(date.getDate()),
        HH: pad(date.getHours()),
        mm: pad(date.getMinutes()),
        ss: pad(date.getSeconds())
    };

    return fmt.replace(/YYYY|MM|DD|HH|mm|ss/g, key => rules[key]);
}
